package com.tjsinfo.tjsoa.mail.bo;

import java.util.List;

import com.tjsinfo.tjsoa.mail.vo.TjsemailReceived;

/**
 * 收信BO
 * @author wangxiaowei
 *
 */
public interface ITjsemailReceivedBo {
	public Integer count(String userid,Integer recstart);
	/**
	 * 添加收到的邮件
	 * @param 邮件ID
	 * @param 接收人ID
	 * @param 性质
	 * @param 类型
	 * @return
	 */
	public boolean addTjsmailReceived(String mailid,String userid,Integer nature,Integer type,String username);
	/**
	 * 修改收信的状态
	 * @param 收到的信的ID
	 * @param 状态
	 * @return
	 */
	public boolean updateTjsmailReceivedStart(String recid,Integer start);
	
	/**
	 * 批量修改收信的状态
	 * @param 收到的信的ID
	 * @param 状态
	 * @return
	 */
	public boolean updateTjsmailReceivedStartList(String[] recidarray,Integer start);
	
	/**
	 * 修改收信的类型
	 * @param 收到的信的ID
	 * @param 类型
	 * @return
	 */
	public boolean updateTjsmailReceivedType(String recid,Integer type);
	
	/**
	 * 依据主键查询
	 * @param id
	 * @return
	 */
	public TjsemailReceived seleceById(String recid);
	/**
	 * 依据emailid查询
	 * @param id
	 * @return
	 */
	public List<TjsemailReceived> seleceByemailId(String emailId);
	/**
	 * 删除收到的邮件
	 * @param 收信的ID
	 * @return
	 */
	public boolean deleteTjsReceived(String recid);
	/**
	 * 查询收件人的收件列表
	 * @param 用户ID
	 * @return 
	 */
	public List<TjsemailReceived> selectUserId(String id,String username);
	
	/**
	 * 查询收件人的收件列未读表
	 * @param 用户ID
	 * @return 
	 */
	public List<TjsemailReceived> selectNewUserId(String userid,Integer recstart);
	/**
	 * 修改收信的类型List
	 * @param 收到的信的ID
	 * @param 类型
	 * @return
	 */
	public boolean updateTjsmailReceivedType(String[] recidarray,Integer type);
	/**
	 * 批量修改收信的标签
	 * @param 收到的信的ID
	 * @param 状态
	 * @return
	 */
	public boolean updateTjsmailReceivedTagList(String[] recidarray,
			Integer start);
	/**
	 * 删除收到的邮件
	 * @param 收信的ID
	 * @return
	 */
	//public boolean deleteTjsReceived(Integer[] recid);
	/**
	 * 删除收到的邮件
	 * @param 收信的ID
	 * @return
	 */
	public boolean deleteTjsReceived(String[] recidarray);
	/**
	 * 移动收件箱中的邮件
	 * @param recid
	 * @return
	 */
	public boolean moveTjsReceived(String[] recid,String foldid);
	/**
	 * 查询收件的具体信息
	 * @param 邮件ID
	 * @param 用户ID
	 * @return
	 */
	public TjsemailReceived selectReceivedMailById(String emailid,String userid,String username);
	/**
	 * 根据标题查询收件
	 * @param 关键字
	 * @return
	 */
	public List<TjsemailReceived> selectReceivedMailTitile(String title,String userid);
	/**
	 * 查询未读邮件
	 * @param userid
	 * @return
	 */
	public Integer selectWeiReadEmail(String username);
}
